perm filename PRO.2[AP,DBL]1 blob sn#115214 filedate 1974-08-09 generic text, type T, neo UTF8
00100	Protocol sketch      for     a supra-SPOT concept formation program.
00200	
00300	U represents the user, S the system, in the following  dialog excerpts.
00400	
00500	S:	Hi.  What can I do for you?
00600	U: 	Write a concept formation program. Here is SPOT, which you have
00700		just written.  Get psyched up and we will begin adding to it.
00800	S:	OK, I am in a state of full awareness re the writing of SPOT.
00900		What would you like to do to it?
01000	U:	One thing, I notice that some of the transfers between the MAY,
01100		MUST, and MUSNT lists cause past examples to work improperly.
01200		Find me an example of this phenomenon.
01300	S:	If  we must choose between two features to transfer from MAY to
01400		MUST, only one is correct, we choose the incorrect one, later
01500		discover our mistake, put it back onto the MAY list.  Then that
01600		first example would again be misidentified.
01700	U:	Any other cases?
01800	S:	When we choose to move a feature from MAY to MUST, we might have
01900		already seen a scene in which it did NOT occur. So this would
02000		immediately cause the old scene to be misidentified. 
02100	U:	How could you fix this up?
02200	S:	(i) By keeping around all the old scenes, using them to check new
02300		changes. (ii) By tagging each MAY feature to indicate whether it
02400		has ever not appeared in this type of scene. (iii) By creating a
02500		fourth list, ALWAYS:WAS, to keep separate those MAY candidates
02600		which could reliably be transferred to MUST.
02700	U:	How would the last two ideas work?
02800	S:	When a concept is first encountered, no features are tagged. When a
02900		new instance is seen, all relations in the symmetric difference of
03000		the existing MAY set and the new set of relations is tagged.
03100		The next case is analogous, with tagging/notagging equivalent to
03200		position on the MAY/ALWAYS list.
03300	U:	Which is better?
03400	S:	(i) is the quickest but uses the most space, (ii) is most easily
03500		implemented and optimized, (iii) is easy to implement and the most
03600		symmetric. In view of future expansions, I suggest (iii).
03700	U:	OK, do it.
03800	S:	<sound of grinding, shredding, looping, etc. in the background> OK.
03900		What next?
04000	U:	I want a scene to be correctly identified even if its objects have
04100		new names. 
04200	S:	Unclear. Here is my idea of arch: (arch (a b c) (MUST (supports a c)
04300		(supports b c))  (MUSNT (touches a b)) (MAY (green a)(block c))).
04400		What kind of altered scene should be identified as an arch, now?
04500	U:	(? (x y z) (supports x z)(supports y z)(green x)(blue y))
04550	S:	I can see many ways to do this.   (i) We may examine and then use
04600	        the object list to determine a mapping which is applied to the rest
04700		of the scene.  (ii) All scenes are transformed into canonical form
04800		when read in, i.e., as if they had all had objects (a b c ...)
04900		Is one of these what you want?
05000	U:	Compare the two for me, please.
05200	S:	No, I don't want to.